package Main;

import java.util.Date;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import model.beans.CPF;
import model.beans.CaracteristicasPaciente;
import model.beans.Consulta;
import model.beans.Paciente;
import model.beans.Prontuario;
import model.beans.RG;
import model.beans.TipoConsulta;
import model.persistence.GerenciadorEntidades;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author kelyane
 */
public class Main {

    public static void main(String[] args) {

        Paciente p = new Paciente();
        p.setNome("Joao da Silva");
        p.setCpf(new CPF("12345678900"));
        p.setRg(new RG("987654321"));
        
        Paciente p2 = new Paciente();
        p2.setNome("asdasd");
        p2.setCpf(new CPF("12345678900"));
        p2.setRg(new RG("987654321"));

        Consulta cons = new Consulta();
        cons.setPaciente(p);
        cons.setMedico("lala");
        cons.setHorario( new Date("2013/05/30"));
        cons.setTpConsulta(TipoConsulta.normal);
        cons.setHora("10:10");
        
        Prontuario pront = new Prontuario();
        pront.setConsulta(cons);
        pront.setDiagnostico("diagnostico");
        pront.setSintomas("sintomas");
        pront.setTratamento("tratamentos");
        
        CaracteristicasPaciente caracPac = new CaracteristicasPaciente();
        caracPac.setPaciente(p2);
        caracPac.setBebe(true);
        caracPac.setDiabete(true);
        caracPac.setFuma(true);   
        caracPac.setDoencasCardiacas(true);
        caracPac.setColesterol(true);
        
        /*List<String> listaCirurgia = new LinkedList<>();
        listaCirurgia.add("cirurgia1");  
        listaCirurgia.add("cirurgia2");  
        caracPac.setCirurgias(listaCirurgia);*/
        
        EntityManager em = GerenciadorEntidades.getEntityManager();

        em.getTransaction().begin();
        em.persist(p);
        em.persist(cons);
        em.persist(pront);
        em.persist(caracPac);
        em.getTransaction().commit();

        /*Query query = em.createNamedQuery("findAllPaciente");

        List<Paciente> pessoasNamedQuery = query.getResultList();

        for (int i = 0; i < pessoasNamedQuery.size(); i++) {
            System.out.println("Nome pessoa: " + pessoasNamedQuery.get(i).getNome() 
                    + " RG: " + pessoasNamedQuery.get(i).getRg().getRG()
                    + " CPF: " + pessoasNamedQuery.get(i).getCpf().getCPF());
        }*/
        
        /*Query query = em.createNamedQuery("findAllConsulta");
        
        List<Consulta> consultasNamedQuery = query.getResultList();
        
        for (int i = 0; i < consultasNamedQuery.size(); i++) {
            System.out.println("Medico: " + consultasNamedQuery.get(i).getMedico()
                    + " Horario: " + consultasNamedQuery.get(i).getHorario()
                    + " Paciente: " + consultasNamedQuery.get(i).getPaciente().getNome());
        }*/

        /*Query query = em.createNamedQuery("findAllProntuario");
        
        List<Prontuario> prontuariosNameQuery = query.getResultList();
        
        for (int i = 0; i < prontuariosNameQuery.size(); i++) {
            System.out.println("horario consuta: " + prontuariosNameQuery.get(i).getConsulta().getHorario()
                    + " Diagnostico: " + prontuariosNameQuery.get(i).getDiagnostico()
                    + " Sintomas: " + prontuariosNameQuery.get(i).getSintomas());
        }*/
        
        
        Query query = em.createNamedQuery("findAllCaracteristicasPaciente");
        
        List<CaracteristicasPaciente> caracPacientesNameQuery = query.getResultList();
        
        for (int i = 0; i < caracPacientesNameQuery.size(); i++) {
            System.out.println("paciente: " + caracPacientesNameQuery.get(i).getPaciente().getNome()
                    + " bebe: " + caracPacientesNameQuery.get(i).isBebe());
        }
    }
}
